<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    //闭包：定义在函数内部的函数
    //本质：让父作用域成为永恒作用域
    //作用：1.可以访问父函数中的变量  2.可以锁住父函数中的变量
</script>

<script>
    var counter = (function () {
        var count = 0;

        function increment() {
            count++;
            console.log(count);
        }

        function decrement() {
            count--;
            console.log(count);
        }

        return {
            increment: increment,
            decrement: decrement
        };
    })();
    //在执行完第一个incremen函数后，count变为1，闭包函数锁住count为1的状态，第二次执行函数是count的初始值为1
    counter.increment(); //  1
    counter.increment(); //  2
    counter.decrement()

</script>

</html>